Skip to content

Open fast trace#73

Closed
catappreciationhours2 wants to merge 33 commits into
eclipse-uprotocol:mainfrom
catappreciationhours2:open_fast_trace
Closed

Open fast trace#73
catappreciationhours2 wants to merge 33 commits into
eclipse-uprotocol:mainfrom
catappreciationhours2:open_fast_trace

Conversation

@catappreciationhours2
Copy link
Copy Markdown
Contributor

@catappreciationhours2 catappreciationhours2 commented Jul 16, 2025

OpenFastTrace (OFT) integration to enable formal requirements tracing between the implementation of the Iceoryx2-based uTransport and the uProtocol specification (up-spec). This includes:

  • Annotating compute_service_name() with specitem comments
  • Annotating unit tests with utest trace links
  • Adding an automated GitHub Actions workflow that:
  • Runs OFT using up-spec as a submodule
  • Runs tests to validate implementation correctness
  • Fails the job if either requirement tracing or tests are incomplete/missing
  • Temporarily allows dead code

close #72

Copy link
Copy Markdown
Contributor

@sophokles73 sophokles73 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please first fix your EOL settings in your editor (VSCode?) to use UNIX EOL (\n). Then recreate the PR and make sure to include a proper license header in all files.

Comment thread .github/workflows/check.yml
Comment thread .env.oft-latest Outdated
Copy link
Copy Markdown
Contributor

@sophokles73 sophokles73 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the line endings are fixed 👍

Comment thread src/lib.rs Outdated
Copy link
Copy Markdown
Contributor

@sophokles73 sophokles73 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@catappreciationhours2
Copy link
Copy Markdown
Contributor Author

We have one failing check because of requirements tracing. The way the oft checking file is written right now checks whether all requirements mentioned in adoc files have been implemented or not. Since we don't have all the functions written on this pr we have obviously not satisfied all the spec requirements at this moment.

There are a few things we can try here -

  1. if possible we note and ignore the error
  2. we could change the script that checks the oft and say it should check against implemented instead of all (but this could be problematic down the line as it wont tell us if we missed something)
  3. we could temporarily insert the ofts under a not implemented stage - under design stating that it’s under design or something like that.

@sophokles73 wondering if you have any idea how to progress from here

@sophokles73
Copy link
Copy Markdown
Contributor

I would suggest to follow the approach taken by the MQTT5 transport library

@PLeVasseur
Copy link
Copy Markdown
Contributor

I would suggest to follow the approach taken by the MQTT5 transport library

Hey there @catappreciationhours2 -- do you have some thoughts here?

Could you commit to clearing this up in the coming week?

@catappreciationhours2
Copy link
Copy Markdown
Contributor Author

yes will take a look and redo this section

@catappreciationhours2
Copy link
Copy Markdown
Contributor Author

hey just pushed a change and all checks are passing. can you take a look and tell me if anything else needs to be done here? @PLeVasseur @sophokles73

@PLeVasseur
Copy link
Copy Markdown
Contributor

@sophokles73 -- could you take a look? I may butcher an OFT review.

Comment thread src/lib.rs

#[test]
// [specitem,oft-sid="dsn~up-transport-iceoryx2-service-name~1",oft-needs="utest"]
// [utest->dsn~up-transport-iceoryx2-service-name~1]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this correctly marks this test as implementing the required test for the dsn~up-transport-iceoryx2-service-name~1 specitem. However, you will also need to add a corresponding marker to code/function that actually implements the specitem using [impl->dsn~up-transport-iceoryx2-service-name~1] ...

@PLeVasseur
Copy link
Copy Markdown
Contributor

Functionality was implemented in #78

@PLeVasseur PLeVasseur closed this Oct 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add OpenFastTrace workflow

4 participants